Predavanja i vežbe iz računarstva i informatike za učenike gimnazije

Računarstvo i informatika za učenike gimnazije

1. Razred

2. Razred

3. Razred

4. Razred

 

 

Dvodimenzionalni nizovi

 

 

Uvod

  

  
  

Deklarisanje u Paskalu

 

I)kao niz nizova (retko koristi)

 

Type niz = array [1..15] of real;

     mat = array [1..20] of niz;

 Var A: mat;

 

II)         ili drugačije (retko koristi)

 

type matrica = array[1..20] of array [1..15] of real;

Var A: matrica;

 

III)    kao matrica (često se koristi)

 

type Mat= array [1..20,1..15] of real;

Var A : Mat;

 

Primer:

Napisati program koji izračunava sumu pozitivnih vrednosti matrice A (n<=20, m<=15)

 

Program MatSumaPoz;

type Mat=array [1..20,1..15] of real;

Var A : mat;

n,m,i,j : integer;

s: real;

 

Begin

  writeln (‘unesite dimenzije matrice n,m’);

  readln (n,m);

 

{unos elemenata}

 

for i:=1 to n do

  for j:=1 to m do Begin

                     write (‘A[’,i,’,’,j,’]=’);

                     readln (A[i,j]);

                   End;

 

 

 

 

{izracunavanje sume pozitivnih}

 

for i:=1 to n do

  for j:=1 to m do

      if A[i,j]>0 then s:=s + A[i,j];

 

{ispis sume}

 

write (‘suma pozitivnih vrednosti matrice je’, S:10:5);

END.

 

 

Za vežbu:

 

Napisati program kojim se za matricu A(n x n) izračunava

a)     suma kvadrata svih elemenata

b)     suma negativnih elemenata matrice

c)     Pozicija (Mi,Mj) elementa koji ima najveću vrednost

 


Glavna i sporedna dijagonala matrice


Napisati program koji za matricu A (NxN) izračunava

a)      suma pozitivnih iznad glavne dijagonale

b)      suma elemenata sa glavne dijagonale

c)      suma elemenata na sporednoj dijagonali

d)      vrednost najvećeg elementa na sporednoj dijagonali

e)      proizvod negativnih elemenata iznad sporedne dijagonale

 

Program MatDijagonale;

type Mat = array [1..100,1..100] of real;

Var  a:Mat;

     i,j,n:integer; s, p , max :real;

 

Begin

 write (‘unesite dimenzije matrice’);

 readln (n);

  for i:=1 to n do

for j:=1 to n do Begin

                  write (‘A[’,i,’,’,j,’]=’);

                 readln (A[i,j]);

                 End;

 

{a)- suma pozitivnih elem. iznad gl. diag}

 

for i:=1 to n-1 do

   for j:=(i+1) to n do

     if A[i,j]>0 then s:=s+A[i,j];

writeln (‘suma je ’,s:10:5);

 

{b) – suma elem sa glavne diag.}

for i:=1 to n do s:=s+A[i,j];

writeln (‘suma je ’,s:10:5);

 

{c) – suma elem na sporednoj diagonali}

for i:=1 to n do s:=s+ A[i,n+1-i];

writeln (‘suma je ’,s:10:5);

 

{d) – max elem sa sporedne}

max:=A[1,n];

for i:=2 to n do

 if A[i,n+1-i]>max then max:=A[i,n+1-i];

writeln (‘max je ’,max:10:5);

 

{e)- proizvod negativnih iznad sporedne diag}

 

p:=1;

for i:=1 to n-1 do

 for j:=1 to n-i do

  if A[i,j]<0 then p:=p*A[i,j];

writeln (‘proizvod je ’,p:10:5); 

 

END.

 

Za vežbu:

Napisati program kojim se u matrici A(NxN)

a)     sortiraju elementi vrsta u neopadajućem poretku

b)     sortiraju u nerastućem poretku elementi svake vrste od glavne dijagonale do desne kolone matrice

 

 



 

 

© 2010 Dragoljub Perišić 



 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



 

 

 

©2017 Dragoljub Perišić